package Demo62;


import java.util.HashMap;
import java.util.Map;

/**
 * 存在重复元素二
 * https://leetcode.cn/problems/contains-duplicate-ii/
 *
 */
class Solution {
    public boolean containsNearbyDuplicate(int[] nums, int k) {
        // 构建hash表
        Map<Integer,Integer> hash = new HashMap<>();
        // 遍历nums
        for(int i = 0; i < nums.length; i++) {
            // 校验是否存在重复的元素
            if(hash.containsKey(nums[i])) {
                // 判断是否有满足要求
                if((i - hash.get(nums[i])) <= k) {
                    return true;
                }
            }
            hash.put(nums[i],i);
        }
        return false;
    }
}